package br.com.alexgirao.racha.modelo;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * 
 * @author Alex Girao
 */
@Entity(name="partida")
public class Partida extends BaseModelo{

	private static final long serialVersionUID = -9068824654955324350L;

	@Id
	@GeneratedValue
	@Column(name="id")
	protected Long id;
	
	@Temporal(TemporalType.TIMESTAMP)
	@Column(nullable=false)
	private Date data;
	
	@ManyToOne
	@JoinColumn(name="primeiro_jogador",nullable=false)
	private Jogador primeiroJogador;
	
	@ManyToOne
	@JoinColumn(name="primeiro_jogador_time",nullable=false)
	private Time primeiroJogadorTime;
	
	@Column(name="primeiro_jogador_placar",nullable=false)
	private Integer primeiroJogadorPlacar;
	
	@ManyToOne
	@JoinColumn(name="segundo_jogador",nullable=false)
	private Jogador segundoJogador;
	
	@ManyToOne
	@JoinColumn(name="segundo_jogador_time",nullable=false)
	private Time segundoJogadorTime;
	
	@Column(name="segundo_jogador_placar",nullable=false)
	private Integer sgundoJogadorPlacar;
	
	@ManyToOne
	@JoinColumn(nullable=false)
	private Campeonato campeonato;
	
	@Override
	public Long getId() {
		return id;
	}

	@Override
	public void setId(Long id) {
		this.id = id;
	}

	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	public Jogador getPrimeiroJogador() {
		return primeiroJogador;
	}

	public void setPrimeiroJogador(Jogador primeiroJogador) {
		this.primeiroJogador = primeiroJogador;
	}

	public Time getPrimeiroJogadorTime() {
		return primeiroJogadorTime;
	}

	public void setPrimeiroJogadorTime(Time primeiroJogadorTime) {
		this.primeiroJogadorTime = primeiroJogadorTime;
	}

	public Integer getPrimeiroJogadorPlacar() {
		return primeiroJogadorPlacar;
	}

	public void setPrimeiroJogadorPlacar(Integer primeiroJogadorPlacar) {
		this.primeiroJogadorPlacar = primeiroJogadorPlacar;
	}

	public Jogador getSegundoJogador() {
		return segundoJogador;
	}

	public void setSegundoJogador(Jogador segundoJogador) {
		this.segundoJogador = segundoJogador;
	}

	public Time getSegundoJogadorTime() {
		return segundoJogadorTime;
	}

	public void setSegundoJogadorTime(Time segundoJogadorTime) {
		this.segundoJogadorTime = segundoJogadorTime;
	}

	public Integer getSgundoJogadorPlacar() {
		return sgundoJogadorPlacar;
	}

	public void setSgundoJogadorPlacar(Integer sgundoJogadorPlacar) {
		this.sgundoJogadorPlacar = sgundoJogadorPlacar;
	}

	public Campeonato getCampeonato() {
		return campeonato;
	}

	public void setCampeonato(Campeonato campeonato) {
		this.campeonato = campeonato;
	}

}
